home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / mail / delivery / smail-3.001 / smail-3~ / smail-3.1.29.1 / NOTES / NFS-BUILD < prev    next >
Text File  |  1994-10-18  |  4KB  |  86 lines

  1. $Id: NFS-BUILD,v 1.1 1994/10/18 08:41:19 nm4 Exp $
  2.  
  3. From apple!bogart.cse.ogi.edu!bruce Thu Apr  9 03:40:08 1992
  4. Return-Path: <apple!bogart.cse.ogi.edu!bruce>
  5. Received: by mitsu.veritas.com (/\==/\ Smail3.1.25.1 #25.1)
  6.     id <m0lYwY3-0006vwC@mitsu.veritas.com>; Thu, 9 Apr 92 03:40 PDT
  7. Received: by veritas.veritas.com (/\==/\ Smail3.1.22.1 #22.2)
  8.     id <m0lYvVF-000051C@veritas.veritas.com>; Thu, 9 Apr 92 02:33 PDT
  9. Received: by mobius.veritas.com (/\==/\ Smail3.1.25.1 #25.2)
  10.     id <m0lYwUk-0000cCC@mobius.veritas.com>; Thu, 9 Apr 92 03:36 PDT
  11. Received: by veritas.veritas.com (/\==/\ Smail3.1.22.1 #22.2)
  12.     id <m0lYvV8-000067C@veritas.veritas.com>; Thu, 9 Apr 92 02:33 PDT
  13. Received: from bogart.cse.ogi.edu by apple.com with SMTP (5.61/10-Dec-1991-eef)
  14.     id AA21446; Thu, 9 Apr 92 02:38:40 -0700
  15.     for veritas.com!tron
  16. Received: by bogart.cse.ogi.edu (/\==/\ Smail3.1.25.1 #25.35)
  17.     id <m0lYvaT-000GueC@bogart.cse.ogi.edu>; Thu, 9 Apr 92 02:38 PDT
  18. Message-Id: <m0lYvaT-000GueC@bogart.cse.ogi.edu>
  19. Date: Thu, 9 Apr 92 02:38 PDT
  20. From: apple!bogart.cse.ogi.edu!bruce (Bruce Jerrick)
  21. To: tron@veritas.com
  22. Subject: Re: PATH_ALIASES_FILE (and PATH_PATHS_FILE) not always set correctly
  23. Status: R
  24.  
  25. > >    In smail-3.1.25, if ALIASES_FILE is set in conf/os/$OS_TYPE instead
  26. > >of conf/EDITME, some variables are not set correctly in conf/lib/mkdefs.sh .
  27. > I will agree that the code doesn't allow for this.  However, why would
  28. > anyone want to do this?
  29.  
  30. I'm building smail for at least three different architectures or OS's
  31. (Sequent, Sun-4, Sun-3, probably Ultrix also), from one central source,
  32. accessed read-only via NFS.  I can use the same EDITME if all the OS
  33. dependencies are in the os/xxx files.  That avoids having to have
  34. multiple but slightly divergent copies of source.
  35.  
  36.     So my philosophy on EDITME is that it should contain site dependencies,
  37. not OS dependencies.  E.g., where smail gets installed is in EDITME,
  38. but something like /etc/aliases (SunOS) vs. /usr/lib/aliases (Classic)
  39. should be in os/xxx .
  40.  
  41.     We do practically all our builds in "shadow" directories -- on disk
  42. local to a machine doing the build for a particular architecture.  This is
  43. under a hierarchy similar to /usr/src, only starting with /usr/src.shadow .
  44. Source files are actually symlinks into /usr/src/..., which is NFS-mounted
  45. read-only from one machine (a "source server").
  46.  
  47.     We regard multiple copies of source as being almost as leperous as
  48. s*ndmail.cf files, because of the danger that divergent versions will
  49. develop.
  50.  
  51.     To facilitate this, I took all the OS_TYPE=xxx lines out of EDITME,
  52. replacing them with a line that sources a file:
  53.  
  54.     . ${ROOT}/conf/OS_TYPE
  55.  
  56. That name "OS_TYPE" doesn't change.  There are a variety of OS_TYPE.xxx
  57. files to choose from; all are in the central source tree, and all are made
  58. available to all shadow trees.  The only thing that differs on the
  59. various machines is one OS-specific symlink in the shadow directory,
  60. e.g., on the Sequent:
  61.  
  62.     OS_TYPE -> OS_TYPE.dynix3.2
  63.  
  64. and on the Sun:
  65.  
  66.     OS_TYPE -> OS_TYPE.sun_os4.1
  67.  
  68. In the shadow directories the OS_TYPE.xxx files are symlinks just like all
  69. other source file symlinks:
  70.  
  71.     OS_TYPE.dynix3.2 -> SRC/OS_TYPE.dynix3.2
  72.     OS_TYPE.sun_os4.1 -> SRC/OS_TYPE.sun_os4.1
  73.     (etc.)
  74.  
  75. (SRC is a symlink pointing into the source tree, just for name compaction).
  76.  
  77. In the central source, the OS_TYPE.xxx files are each a one-liner -- the
  78. appropriate OS_TYPE=xxx.
  79.  
  80. At first I had done this with EDITME (e.g., EDITME -> EDITME.dynix3.2), but
  81. found I was making changes to multiple EDITME.xxx files that differed by
  82. only one line (the OS_TYPE=xxx line).
  83.  
  84. -- Bruce
  85.